<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
        // 思考如何将data中数据转化为最终输出的结果
        function formatExcelDate(numb, format = "/") {
          const time = new Date(
            (numb - 25567) * 24 * 3600000 -
              5 * 60 * 1000 -
              43 * 1000 -
              24 * 3600000 -
              8 * 3600000
          );
          time.setYear(time.getFullYear());
          const year = time.getFullYear() + "";
          const month = time.getMonth() + 1 + "";
          const date = time.getDate() + "";
          if (format && format.length === 1) {
            return year + format + month + format + date;
          }
          return (
            year +
            (month < 10 ? "0" + month : month) +
            (date < 10 ? "0" + date : date)
          );
        }

        function transZhkeyToEnkey(data) {
        // 1. 映射对象，根据映射对象找英文的键
        const mapInfo = {
          '入职日期': 'timeOfEntry',
          '手机号': 'mobile',
          '姓名': 'username',
          '转正日期': 'correctionTime',
          '工号': 'workNumber',
          '部门': 'departmentName',
          '聘用形式': 'formOfEmployment'
        }
        // 1. 需要将数据中的中文的键的数据对象一个一个的遍历出来
        return data.map(item => {
          // console.log(item);
          // Object.keys(item) // ['入职日期', '姓名', '工号', '手机号', '转正日期', '部门']
          const enObj = {}
          // 2. 根据映射对象，将中文的key转化为应为key
          Object.keys(item).forEach(zhKey => {
            const enKey = mapInfo[zhKey]
            if (enKey === 'timeOfEntry' || enKey === 'correctionTime') {
              // 传入excel时间格式，还原成标准的时间格式
              enObj[enKey] = new Date(formatExcelDate(item[zhKey]))
            } else {
              enObj[enKey] = item[zhKey]
            }
          })
          return enObj
        })
      }
    </script>
  </body>
</html>
